package com.xfd.learn.demos.web;

import com.xfd.learn.demos.oss.OssDemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author xfd
 */
@Controller
@RequestMapping("/oss")
public class OssController {

    @Autowired
    private OssDemoService ossDemoService;

//    @PostMapping("/upload")
//    public ResponseEntity<String> uploadFile(@RequestBody() Params params) {
//        System.out.println("---------uploadFile.start----------");
//        // 调用追加上传方法
//        AppendObjectResult result = ossDemoService.appendFile1(params.getNext(), "test.txt", params.getUsers());
//
//        // 创建 ByteArrayOutputStream 对象
//        // 创建 ExcelWriter
////                EasyExcel.write(baos, User.class).build();
////
////                // 循环处理每一个数据源
////                for (int i = 0; i < users.size(); i++) {
////                    // 准备数据
////                    List<User> data = new ArrayList<>();
////                    for (DataSource source : users.get(i)) {
////                        data.add(new User(source.getName(), source.getAge()));
////                    }
////
////                    // 创建 WriteSheet 并指定 sheet 名称
////                    String sheetName = "模板" + (i + 1);
////                    WriteSheet writeSheet = EasyExcel.writerSheet(i, sheetName).build();
////
////                    // 写入数据到当前 sheet
////                    EasyExcel.write(baos, User.class).withTemplate(writeSheet).doWrite(data);
////                }
////
////                // 将 ByteArrayOutputStream 转换成 ByteArrayInputStream
////                ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
//
//        // 现在 bais 包含了包含多个 sheet 的 Excel 文件的内容
//        // 你可以使用 bais 进行进一步的操作，例如发送文件、保存文件等
//
//        // 注意：在这个示例中，我们没有对 bais 进行任何操作，所以在实际应用中你需要添加相应的逻辑
//
//        return ResponseEntity.ok("File uploaded successfully. NextPosition: " + result.getNextPosition());
//    }

    @PostMapping("/xyhTest")
    public void xyhTest() throws Exception {
        ossDemoService.InitiateMultipartUploadRequest();
    }

}
